package com.elite.controller;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

@RestController
public class TestModelAttributeController {
//	/**
//	 * 测试@ModelAttribute注解
//	 * @param username
//	 * @return
//	 */
//	@ModelAttribute(name = "username")
//	public String modelAttribute1(@ModelAttribute("username") String username) {
//		System.out.println("modelAttribute = " + username);
//		/**
//		 * 它会把username值传递到Model对象或者ModelMap对象
//		 */
//		return username;
//	}


	@ModelAttribute(name = "username")
	public String modelAttribute2(@RequestParam("username") String username) {
		System.out.println("modelAttribute = " + username);
		/**
		 * 它会把方法的参数值传递到Model对象或者ModelMap对象，它的可以就是你@ModelAttribute(name = "username")注解指定
		 */
		return username;
	}
//	@ModelAttribute(name = "username")
//	public String modelAttribute3(@ModelAttribute("username") String username) {
//		System.out.println("modelAttribute = " + username);
//		/**
//		 * 它会把方法的参数值传递到Model对象或者ModelMap对象，它的可以就是你@ModelAttribute(name = "username")注解指定
//		 */
//		return username;
//	}
	/**
	 * 使用Model对象或者ModelMap对象接受@ModelAttribute注解方法的参数
	 * @param model
	 * @return
	 */
	@GetMapping("/testModelAttribute")
	public String testModelAttribute(Model model) {
		return (String) model.getAttribute("username");
	}


}
